﻿using System;
using System.Collections.Generic;
using VkontakteSharp.Enums;

namespace VkontakteSharp.Model
{
    public class Group
    {
        [JsonMapping("gid", JsonMapping.MappingType.Primitive)]
        public long Id { get; set; }
        [JsonMapping("name", JsonMapping.MappingType.Primitive)]
        public string Name { get; set; }
        [JsonMapping("screen_name", JsonMapping.MappingType.Primitive)]
        public string ScreenName { get; set; }
        [JsonMapping("is_closed", JsonMapping.MappingType.Primitive)]
        public int IsClosed { get; set; }
        [JsonMapping("is_admin", JsonMapping.MappingType.Primitive)]
        public int IsAdmin { get; set; }
        [JsonMapping("is_member", JsonMapping.MappingType.Primitive)]
        public int IsMember { get; set; }
        [JsonMapping("photo", JsonMapping.MappingType.Primitive)]
        public string Photo { get; set; }
        [JsonMapping("photo_small", JsonMapping.MappingType.Primitive)]
        public string PhotoSmall { get; set; }
        [JsonMapping("photo_medium", JsonMapping.MappingType.Primitive)]
        public string PhotoMedium { get; set; }
        [JsonMapping("photo_big", JsonMapping.MappingType.Primitive)]
        public string PhotoBig { get; set; }
        [JsonMapping("members_count", JsonMapping.MappingType.Primitive)]
        public int MembersCount { get; set; }
        [JsonMapping("type", JsonMapping.MappingType.Primitive)]
        public string Type { get; set; }
        // additional information
        [JsonMapping("city_id", JsonMapping.MappingType.Primitive)]
        public long CityId { get; set; }
        [JsonMapping("country_id", JsonMapping.MappingType.Primitive)]
        public long CountryId { get; set; }
        [JsonMapping("description", JsonMapping.MappingType.Primitive)]
        public string Description { get; set; }
        [JsonMapping("start_date", JsonMapping.MappingType.Primitive)]
        public DateTime StartDate { get; set; }
        [JsonMapping("wiki_page", JsonMapping.MappingType.Primitive)]
        public string WikiPage { get; set; }
        [JsonMapping("verified", JsonMapping.MappingType.Primitive)]
        public int Verified { get; set; }
        [JsonMapping("contacts", JsonMapping.MappingType.Collection)]
        public List<VkContacts> Contacts { get; set; }
    }
}